/**
 * 管理员权限验证中间件
 * 验证当前登录用户是否为管理员角色
 */
module.exports = (req, res, next) => {
  try {
    // 从authMiddleware中获取用户信息
    const user = req.user;
    const logTime = new Date().toISOString();

    if (!user) {
      console.error(`[${logTime}] [ERROR] 管理员权限验证失败: 用户未登录`);
      return res.status(401).json({
        success: false,
        message: '请先登录'
      });
    }

    // 验证用户角色 (1=管理员, 0=普通用户)
    if (user.role !== 1) {
      console.error(`[${logTime}] [ERROR] 管理员权限验证失败: 用户${user.id}不是管理员`);
      return res.status(403).json({
        success: false,
        message: '没有管理员权限'
      });
    }

    console.log(`[${logTime}] [INFO] 管理员权限验证通过: 用户${user.id}`);
    next();
  } catch (error) {
    const logTime = new Date().toISOString();
    console.error(`[${logTime}] [ERROR]管理员权限验证中间件异常: ${error.message}`);
    res.status(500).json({
      success: false,
      message: '服务器错误'
    });
  }
};